7.1.1 -
Les VPN :
Les réseaux privés virtuels (VPN : Virtual Private Network)
permettent à l’utilisateur de créer un chemin virtuel
sécurisé entre une source et une destination. Grâce à
un principe de tunnel (tunnelling) dont chaque extrémité est
identifiée, les données transitent après avoir
été éventuellement chiffrées.
7.1.1.A - Principe de fonctionnement des VPN
:
Le principe du VPN est basé sur la technique du tunnelling. Cela
consiste à construire un chemin virtuel après avoir
identifié l’émetteur et le destinataire. La source peut
ensuite éventuellement chiffrer les données (on parle alors de VPN
chiffrés) et les achemine en empruntant ce chemin virtuel.
Les
données à transmettre peuvent appartenir à un protocole
différent d’IP. Dans ce cas le protocole de tunnelling encapsule
les données en rajoutant une entête. Permettant le routage des
trames dans le tunnel. Le tunneling est l’ensemble des processus
d’encapsulation, de transmission et de
désencapsulation.
Figure 22 : Mode de
fonctionnement d’un tunnel IP
7.1.1.B - Les différents protocoles
utilisés pour l’établissement d’un VPN :
Il existe quatre protocoles principaux permettant
l’établissement d’un VPN :
- le protocole PPTP (Point to Point Tunneling Protocol) mis au point par la
société Microsoft ;
- le protocole L2F (Layer Two Forwarding) mis au point par la
société CISCO ;
- le protocole L2TP (Layer Two Tunneling Protocol) propose par
l’IETF;
- le protocole IPSEC.
7.1.1.B.1 - Le protocole PPP :
Le protocole PPP n’est pas un protocole permettant
l’établissement d’un VPN mais il est très souvent
utilisé pour transférer les informations au travers d’un
VPN. PPP fut développé pour transférer des données
sur des liens synchrones ou asynchrones entre deux points en utilisant HDLC
comme base d’encapsulation et un Frame Check Sequence (FCS) HDLC pour la
détection des erreurs. Cette liaison permet le full duplex et garantit
l’ordre d’arrivée des paquets.
Une fonctionnalité
intéressante de ce protocole est le multiplexage simultané de
plusieurs protocoles de niveau 3 du modèle OSI.
Ce protocole
encapsule des paquets IP, IPX et NetBEUI, ... dans des trames PPP, puis transmet
ces paquets PPP encapsulés à travers la liaison point à
point. PPP est donc utilisé entre un client distant et un serveur
d’accès distant.
7.1.1.B.1.a - Les protocoles de contrôle
réseau (NCPs) :
Les protocoles de contrôle réseau (NCPs) sont des protocoles
séparés qui fournissent les informations de configuration et de
contrôle destinées aux protocoles de la couche réseau. PPP
est conçu pour transmettre des données pour une multitude de
protocoles réseau. NCP autorise la personnalisation de PPP de
manière à exécuter uniquement cette tache. Chaque protocole
de réseau (DECnet, IP, OSI, etc. ...) possède son propre protocole
NCP.
7.1.1.B.1.b - Les différentes
méthodes d’authentification PPP :
- - Le protocole PAP :
Le protocole
d'authentification par mot de passe (PAP) est une méthode simple pour
établir l'identité du site distant. Elle est semblable à la
procédure login d'une session sur un serveur. Cette procédure est
effectuée seulement après que la liaison ait été
établie.
Dans le cadre d’une authentification utilisant le
protocole PAP, le client s'authentifie auprès du serveur en lui envoyant
un paquet « Authentication-Request » contenant
l'identité du client et le mot de passe associé.
Le serveur
compare ces données à celle contenu dans son fichier
d'authentification.
L'inconvénient de cette technique est que le mot
de passe transite « en clair » sur la liaison.
- - Le protocole CHAP :
Dans le cadre de
l’utilisation du protocole CHAP, le serveur envoie au client un paquet
contenant un challenge (mot de 16 bits) défini aléatoirement et
son nom. Le client récupère dans sa table définie
localement, à l'aide du nom du serveur, le secret correspondant. Le
client combine le secret approprié avec le challenge, chiffre ce
résultat et le résultat du chiffrement est retourné au
serveur avec le nom du client. Le serveur effectue alors les mêmes
opérations et si les deux résultats sont identiques la connexion
du client est acceptée.
7.1.1.B.2 - Le protocole PPTP :
Le protocole PPTP un protocole de niveau 2 qui encapsule des trames PPP
dans des datagrammes IP afin de les transférer sur un réseau IP.
PPTP permet le chiffrement des données PPP encapsulées mais aussi
leur compression.
Le schéma suivant montre comment un paquet PPTP
est assemblé avant d’être transmis par un client distant vers
un réseau cible.
Figure 23 : La transmission
d’informations via PPTP
Le protocole d'authentification dans Microsoft PPTP est le protocole
d'épreuve/réponse de Microsoft (MS-CHAP) et le protocole de
chiffrement est le chiffrement Point to Point de Microsoft (MPPE).
A
l’issue de la cryptanalyse de Microsoft PPTP et la
révélation publique de ses faiblesses importantes, Microsoft a mis
à jour ses protocoles. La nouvelle version s'appelle MS-CHAP version 2
(MS-CHAPv2) ; l'ancienne version a été renommée MS-CHAP
version 1.
Les changements les plus importants de MS-CHAPv1 vers MS-CHAPv2
sont:
- le hachage faible LAN Manager n'est plus transmis en même temps que le
hachage Windows NT plus fort. Cet envoi en deux temps permet d'éviter que
des casseurs automatiques de mots de passe, comme Lophtcrack ne cassent le
premier hachage et d'utiliser l'information obtenue pour casser le hachage plus
fort Windows NT. En effet, dans MS-CHAPv1, deux valeurs parallèles de
hachage étaient transmises par le client au serveur : le hachage LAN
Manager et le hachage Windows NT : il s'agissait de deux hachages
différents d'un même mot de passe ;
- un système d'authentification pour le serveur a été
introduit, afin d'empêcher des serveurs malicieux de se faire passer pour
des utilisateurs légitimes ;
- les paquets d'échange de mots de passe de MS-CHAPv1 ont
été remplacés par un unique paquet d'échange dans
MS-CHAPv2. Ceci afin d'empêcher l'attaque active de détournement
(cf. spoofing) des paquets d'échec de MS-CHAP ;
- le protocole MPPE utilise des clefs uniques dans chaque direction, afin
d'empêcher l'attaque cryptanalytique triviale du XOR de chaque flux dans
chaque direction qui supprime les effets du chiffrement.
Ces
changements corrigent les faiblesses majeures de sécurité du
protocole originel : l'inclusion d'une fonction de hachage LAN Manager et
l'utilisation de la même clef de chiffrement à plusieurs reprises.
Toutefois, beaucoup de problèmes de sécurité restent sans
correction, comme par exemple la protection du client lui-même ou le fait
que la clef de chiffrement dispose de la même entropie que le mot de passe
de l'utilisateur ou encore le fait qu'assez de données soient transmises
sur la ligne et permettent à des attaquants de réaliser des
attaques de chiffrement et comparaison.
Ceci dit, Microsoft n'a visiblement
pas seulement profité de cette opportunité que pour corriger
quelques faiblesses cryptographiques dans leur implémentation de PPTP,
mais aussi pour améliorer la qualité de son code. La nouvelle
version est beaucoup plus robuste contre les attaques de déni de service
et ne laisse plus filtrer d'informations au sujet du nombre de sessions VPN
actives.
7.1.1.B.3 - Le protocole L2F :
Le protocole L2F est un protocole développé par Cisco,
Northern Telecom et Shiva. Il est décrit dans la RFC 2341.
Le
protocole L2F est un protocole de niveau 2 qui permet à un serveur
d’accès distant de véhiculer le trafic sur PPP et
transférer ces données jusqu’à un serveur L2F
(routeur). Ce serveur L2F désencapsule les paquets et les envoie sur le
réseau.
Il faut noter que contrairement à PPTP et L2TP, L2F
n’a pas besoin de client.
Le fonctionnement d’une communication
basée sur le protocole L2F s’appuie :
- sur la création d’un tunnel L2F entre les deux routeurs
distants ;
- sur une connexion PPP entre le client distant et le routeur distant que
celui-ci fait suivre au serveur d’accès distant via le tunnel
L2F.
Ce mode de fonctionnement peut être
résumé par le schéma ci-dessous :
Figure 24 : Mode de
fonctionnement du protocole L2F
Ce protocole est progressivement remplacé par le protocole
L2TP.
7.1.1.B.4 - Le protocole L2TP (RFC 2661)
:
Le protocole L2TP (Layer 2 Tunneling Protocol), développé
à partir du protocole point à point PPP, est sans conteste l'une
des pierres angulaires des réseaux privés virtuels d'accès.
Il rassemble en effet les avantages de deux autres protocoles L2F et PPTP. L2TP
est une norme préliminaire de l'IETF (Engineering Task Force)
actuellement développée et évaluée conjointement par
Cisco Systems, Microsoft, Ascend, 3Com et d'autres acteurs clés du
marché des réseaux.
Le protocole L2TP est un protocole
réseau qui encapsule des trames PPP pour les envoyer sur des
réseaux IP, X25, relais de trames ou ATM. Lorsqu’il est
configuré pour transporter les données sur IP, le protocole L2TP
peut être utilisé pour faire du tunnelling sur Internet. Dans ce
cas, le protocole L2TP transporte des trames PPP dans des paquets IP. La
maintenance du tunnel est assurée à l’aide de messages de
commandes au format L2TP tandis que le protocole UDP est utilisé pour
envoyer les trames PPP au sein de trames L2TP.
Le mode de fonctionnement
est le suivant :

Figure 25 : Mode de
fonctionnement du protocole L2TP
7.1.1.B.4.a - Les concepts clés du
protocole L2TP :
- - Les concentrateurs d’accès L2TP :
Les concentrateurs d’accès L2TP (ou LAC,
L2TP Access Concentrateur) peuvent être intégrés à la
structure d'un réseau commuté comme le réseau
téléphonique commuté (RTC) ou encore associés
à un système d'extrémité PPP prenant en charge le
protocole L2TP.
Le rôle du concentrateur d'accès LAC se limite
à fournir un support physique qui sera utilisé par L2TP pour
transférer le trafic vers un ou plusieurs serveurs réseau L2TP
(LNS). Il assure le fractionnement en canaux pour tout protocole basé sur
PPP. Le concentrateur d’accès LAC joue le rôle de serveur
d’accès : il est à l’origine du tunnel et est
responsable de l’identification du VPN.
- - Les serveurs réseaux L2TP :
Les
serveurs réseau L2TP ou LNS, peuvent fonctionner sur toute plate-forme
prenant en charge la terminaison PPP. Les serveurs réseaux L2TP
gèrent le protocole L2TP côté serveur.
Les serveurs LNS
sont les émetteurs des appels sortants et les destinataires des appels
entrants. Ils sont responsables de l’authentification du tunnel.
Le
mode de fonctionnement peut être résumé par le schéma
ci-dessous :
Figure 26 : Mode de
fonctionnement implémentation protocole L2TP